home *** CD-ROM | disk | FTP | other *** search
- program HalfbriteDemo;
-
- { ==================================================================
-
- HalfBriteDemo.p ; (P) 1992 by "Diesel" B. Künnen
-
- Nur, um mal den Halfbrite-Modus unter PCQ-Pascal zu
- demonstrieren. Ach ja, HalfBrite.p ist Public Domain.
-
- ================================================================== }
-
-
- {$I "Include:intuition/intuition.i" }
- {$I "Include:Graphics/Graphics.i" }
- {$I "Include:Graphics/Pens.i" }
- {$I "Include:Exec/Libraries.i" }
- {$I "Include:Graphics/View.i" }
- {$I "Include:libraries/dos.i" }
-
- Const { --- Screendaten (wichtig: Extra_HalfBrite) --- }
-
- NS : NewScreen=(0,0,320,200,6,0,1,Extra_HalfBrite,
- Customscreen_f, NIL,NIL,NIL,NIL);
-
- { --- Windowdaten --- }
-
- NW : NewWindow=(0,0,320,200,0,1,0,
- Smart_Refresh+Backdrop+Borderless+
- Activate+NoCareRefresh,
- NIL,NIL,NIL,NIL,NIL,0,0,0,0,
- CustomScreen_f);
-
- Var
- DScreen : ScreenPtr;
- DWindow : WindowPtr;
- i : Short;
-
-
- Procedure CleanExit(why : String; rt : Integer);
-
- { --- System sauber zurücklassen --- }
- Begin
- If DWindow<>NIL then CloseWindow(DWindow);
- If DScreen<>NIL then CloseScreen(DScreen);
- If GfxBase<>NIL then CloseLibrary(GfxBase);
-
- If why<>NIL then writeln(why);
- Exit(rt);
- End;
-
-
- { ====================== Main ====================== }
-
- Begin
- { --- zuerst die Gfx.lib öffnen --- }
- GfxBase:=OpenLibrary("graphics.library",0);
- If GfxBase=NIL then CleanExit("No Gfx.lib\n",10);
-
- { --- Screen aufmachen --- }
- DScreen:=OpenScreen(Adr(NS));
- If DScreen=NIL then CleanExit("Cannot open screen\n",5);
-
- { --- Window öffnen --- }
- NW.Screen:=DScreen;
- DWindow:=OpenWindow(Adr(NW));
- If DWindow=NIL then CleanExit("Cannot open window\n",5);
-
- { --- Titlebar verstecken --- }
- ShowTitle(DScreen, False);
-
- write("Quit bei Maus in linker oberer Ecke\n");
-
- { --- 32 Balken, oben und unten, zeichnen --- }
- For i:=0 to 31 do
- Begin
- { --- Wähle Farbe 0..31 & male oben ein Rechteck --- }
- SetAPen (DWindow^.RPort, i);
- RectFill (DWindow^.RPort, i*10, 1, 9+i*10, 100);
-
- { --- Wähle Farbe 32..63 & male unten ein Rechteck --- }
- SetAPen (DWindow^.RPort, i+32);
- RectFill (DWindow^.RPort, i*10, 101, 9+i*10, 200);
- End;
-
- { --- Warten, bis Mauszeiger in linker, oberer Ecke --- }
- Repeat
- Delay(5); { --- Prozeß auf Wait() setzen --- }
-
- until ((DWindow^.MouseX=0) AND (DWindow^.MouseY=0));
-
- CleanExit(Nil,0); { --- bye ... --- }
-
- End.
-